import Level from './level'
import Flair from './flair'
// 用户
export default {
  // 开启命名空间
  namespaced: true,
  state: {
    other:{
      year:1,
      month:1,
      timeHandle:0,
    },
    config:{
      travel:{
        mate:[4,5,6,7,8,9],
        arms:[1,2,3],
        subject:[2,3],
        attr:[0,1,2,3]
      }
    },
    userInfo: {
      age: 1, // 年龄
      life: Level.template[0].life, // 剩余寿命
      exp: 0, // 经验值
      nature:0, // 正邪值
      state:1,
      level: 0, // 人物境界
      expSpeed: Level.template[0].expSpeed, // 经验速度
      levelUpExp: Level.template[0].levelUpExp, // 突破所需经验
      levelUpOdds: Level.template[0].levelUpOdds, // 突破概率
      travelSpeed:Level.template[0].travelSpeed,// 历练速度
      soul: Level.template[0].soul,// 灵魂强度度
      hpTotal: Level.template[0].hp, // 总血量
      hp: Level.template[0].hp, // 当前血量
      hot : Level.template[0].hot, // 回血速度
      buff:{
        levelUpOdds:0,// 突破概率buff加成
        expSpeed:0,// 速度buff加成
        travelSpeed:0,// 历练速度buff加成
        soul:0, // 灵魂加成
        hp:0, // 血量加成
        hot:0, // 回血速度加成
        life:0, // 寿元加成
      }
    },
    userBox:{
      pill:[],
      subject:[],
      arms:[],
    },
    userMate:[],
    userLog:[
      {timeLine:"1年01月",content:"七星连珠，天现异象，你降生到了这个修仙世界！"}
    ],
    userSubject:[],
    userArms:[],
    userFlair:Flair.generateFlair(),
  },
  mutations: {
    updateYear(state, val){
      state.other.year = val
    },
    updateMonth(state, val){
      state.other.month = val
    },
    updateAge(state, val) {
      state.userInfo.age = val
    },
    updateLife(state, val) {
      state.userInfo.life = val
    },
    updateExp(state, val) {
      state.userInfo.exp = val
    },
    updateNature(state, val) {
      state.userInfo.nature = val
    },
    updateLevel(state, val) {
      state.userInfo.level = val
    },
    updateExpSpeed(state, val) {
      state.userInfo.expSpeed = val
    },
    updateLevelUpExp(state, val) {
      state.userInfo.levelUpExp = val
    },
    updateLevelUpOdds(state, val) {
      state.userInfo.levelUpOdds = val
    },
    updateTravelSpeed(state, val) {
      state.userInfo.travelSpeed = val
    },
    updateSoul(state, val) {
      state.userInfo.soul = val
    },
    updateHpTotal(state, val) {
      state.userInfo.hpTotal = val
    },
    updateHp(state, val) {
      state.userInfo.hp = val
    },
    updateHot(state, val) {
      state.userInfo.hot = val
    },
    updateBuffLevelUpOdds(state, val) {
      state.userInfo.buff.levelUpOdds = val
    },
    updateBuffExpSpeed(state, val) {
      state.userInfo.buff.expSpeed = val
    },
    updateBuffTravelSpeed(state, val) {
      state.userInfo.buff.travelSpeed = val
    },
    updateBuffSoul(state, val) {
      state.userInfo.buff.soul = val
    },
    updateBuffHp(state, val) {
      state.userInfo.buff.hp = val
    },
    updateBuffHot(state, val) {
      state.userInfo.buff.hot= val
    },
    updateBuffLife(state, val) {
      state.userInfo.buff.life = val
    },
  },
  actions: {
    // asyncUpdate(store, val) {
    //   setTimeout(() => {
    //     store.commit('updateAge', val)
    //   }, 2000)
    // }
  },
  getters: {
    // format(state) {
    //   return state.info.uname + ',nice to meet you~'
    // }
  }
}
